import request from '@/config/axios'
import { List } from 'echarts'

// ERP 产品 VO
export interface ProductVO {
  dataId:undefined,//数据id
  startTime:undefined,//生效日期
  endTime:undefined,//截止日期
  id: string // 产品编号
  name: string // 产品名称
  barCode: string // 产品条码
  categoryId: number // 产品类型编号
  categoryName?: string // 单位名字
  unitId: number // 单位编号
  unitName?: string // 单位名字
  status: number // 产品状态
  // batch:number //批次
  standard: string // 产品规格
  fullPinyin:string //全拼
  wubiShortcode:string //五笔代码
  firstPinyin:string //首字母
  remark: string // 产品备注
  // validityDate: number // 保质期天数
  weight: number // 重量（kg）
  purchasePrice: number // 采购价格，单位：元
  salePrice: number // 销售价格，单位：元
  minPrice: number // 最低价格，单位：元
  isQuantity:number//是否带量
  quantityCount:number
  allocationStatus:number //分配状态
  fullName:string //产品名称 name +规格 standard
  isHooking:number
}

// ERP 产品 API
export const ProductApi = {
  // 查询产品分页
  getProductPage: async (params: any) => {
    return await request.get({ url: `/erp/product/page`, params })
  },

    // 查询产品分页
    selectPages: async (params: any) => {
      return await request.get({ url: `/erp/product/pages`, params })
    },
  // 查询产品分页
  pagesForRelation: async (params: any) => {
    return await request.get({ url: `/erp/product/pagesForRelation`, params })
  },

    

    // 查询产品分页
    getProductPagefor: async (params: any) => {
      return await request.get({ url: `/erp/product/pagefor`, params })
    },

  // 查询产品精简列表
  getProductSimpleList: async () => {
    return await request.get({ url: `/erp/product/simple-list` })
  },

   // 查询产品精简列表
   getProductSimpleLists: async (params:string) => {
    return await request.get({ url: `/erp/product/simple-lists?params=`+params })
  },
  // 查询产品精简列表
  getProductToget: async (params:string,currentPage:number,pageSize:number) => {
    return await request.get({ url: `/erp/product/getProductToget?params=`+params+'&page='+currentPage+'&pageSize='+pageSize })
  },

  // 查询产品精简列表
  getProductSimpleListByIds: async (params: string, ids: number[]) => {
      // 将 ids 数组转换为逗号分隔的字符串
      const idString = ids.join(',');
      const url = `/erp/product/simple-list-byIds?params=${params}&ids=${idString}`;
      
      // 发送 GET 请求
      return await request.get({ url });
},

  // 查询产品详情
  getProduct: async (id: number) => {
    return await request.get({ url: `/erp/product/get?id=` + id })
  },

   // 查询产品详情
   getQuantity: async (id: number) => {
    return await request.get({ url: `/erp/product/getQuantity?id=` + id })
  },

  // 新增产品
  createProduct: async (data: ProductVO) => {
    return await request.post({ url: `/erp/product/create`, data })
  },

  // 修改产品
  updateProduct: async (data: ProductVO) => {
    return await request.put({ url: `/erp/product/update`, data })
  },
  // 根据dataId 修改 价格 并新增一条数据
  updateProductPrice: async (dataId: number,purchasePrice: number) => {
    return await request.put({ url: `/erp/product/updateProductPrice?dataId=` + dataId+'&purchasePrice='+purchasePrice})
  },

  // 删除产品
  deleteProduct: async (id: number) => { 
    return await request.delete({ url: `/erp/product/delete?id=` + id })
  },

  // 导出产品 Excel
  exportProduct: async (params) => {
    return await request.download({ url: `/erp/product/export-excel`, params })
  }
}
